package com.xbfinal.ggkt.result;


import lombok.Data;

/**
 * 统一返回结果类
 */
@Data

public class Result<T> {

    private  Integer code;//返回状态码

    private  String message;//返回状态信息

    private  T data;//返回的具体数据

    public Result(){}

//    //成功的方法,没有数据的方法
//    public static<T>  Result<T> ok(){
//        Result<T> result = new Result<>();
//        result.setCode(200);
//        result.setMessage("成功");
//        return  result;
//    }
    //成功的方法,有/无数据的方法
    public static<T>  Result<T> ok(T data ){
        Result<T> result = new Result<>();
        result.setCode(20000);
        result.setMessage("成功");
        if(data!=null){
            result.setData(data);
        }
        return  result;
    }

    //失败的方法
    public static<T>  Result<T> fail(String message){
        Result<T> result = new Result<>();
        result.setCode(500);
        if (message!=null){
            result.setMessage(message);
        }else{
            result.setMessage("失败");
        }
        return  result;
    }

    public   Result<T> setCode(Integer code){
        if(code!=null){
            this.code=code;
        }else {
            this.code=500;
        }

        return  this;
    }


}
